Would You Rather...?
Application Setup
Criteria | Meet Specification |
---|---|
Is the application easy to install and start? |
The application requires only |
Does the application include README with clear installation and launch instructions? |
A README is included with the project. The README includes a description and clear instructions for installing and launching the project. |
Login Flow
Criteria | Meet Specification |
---|---|
Does the application have a way to log in and log out? Does the application work correctly regardless of which person the user impersonates? |
|
Application Functionality
Criteria | Meet Specification |
---|---|
Does the home page have the desired functionality? |
|
Are the polling questions listed in the correct category (Unanswered vs Answered), and do they have the desired functionality on the home page? |
Each polling question resides in the correct category. For example, if a question hasn’t been answered by the current user, it should be in the “Unanswered” category. A polling question links to details of that poll. The polls in both categories are arranged from the most recently created (top) to the least recently created (bottom). |
Are the details of each poll displayed with all of the relevant information? |
|
Does the voting mechanism work correctly? |
|
Can users add new polls? |
|
Does the leaderboard work correctly and have the desired functionality? |
|
Is the application navigable? |
The app contains a navigation bar that is visible on all of the pages. The user can navigate between the page for creating new polls, and the leaderboard page, and the home page without typing the address into the address bar. |
Does the application interact with the backend correctly? |
The data that’s initially displayed is populated correctly from the backend. Each user’s answer and each new poll is correctly recorded on the backend. |
Does the code run without errors? Is the code free of warnings that resulted from not following the best practices listed in the documentation, such as using |
The code runs without errors. There are no warnings that resulted from not following the best practices listed in the documentation, such as using |
Architecture
Criteria | Meet Specification |
---|---|
Does the store serve as the application’s single source of truth? |
The store is the application’s source of truth. Components read the necessary state from the store; they do not have their own versions of the same state. There are no direct API calls in the components' lifecycle methods. |
Is application state managed by Redux? |
Most application state is managed by the Redux store. State-based props are mapped from the store rather than stored as component state. Form inputs and controlled components may have some state handled by the component. |
Does application state update correctly? |
Updates are triggered by dispatching action creators to reducers. Reducers and actions are written properly and correctly return updated state to the store. |
Does the architecture of the application make sense? |
The code is structured and organized in a logical way. Components are modular and reusable. |